#!/usr/bin/env python
# -*- coding:utf-8 -*-
from datetime import datetime

from flask import current_app
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager
from werkzeug.utils import redirect

from info import db, create_app, models

# manage.py是程序启动的入口，只关心启动的相关参数以及内容，不关心具体该
# 如果创建app或者相关业务逻辑

# 通过指定的配置名字创建对应配置的app
# create_app 就类似于工厂方法
from info.models import User
from info.utils.common import user_login_data

app = create_app('development')

manager = Manager(app)
# 将 app 与 db 关联
Migrate(app, db)
# 将迁移命令添加到manager中
manager.add_command('db', MigrateCommand)


@manager.option('-n', '-name', dest='name')
@manager.option('-p', '-password', dest='password')
def createsuperuser(name, password):
    if not all([name, password]):
        current_app.logger.info("创建管理员参数不全")

    user = User()
    user.nick_name = name
    user.mobile = name
    user.password = password
    user.last_login = datetime.now()
    user.is_admin = True

    try:
        db.session.add(user)
        db.session.commit()
        current_app.logger.info("创建成功")
    except Exception as e:
        db.session.rollback()
        current_app.logger.error(e)


if __name__ == '__main__':
    print(app.url_map)
	print("1111111111")
    manager.run()
